import java.util.HashSet;
import java.util.Set;

public class test4 {

        public static int longestConsecutive(int[] nums) {
            // 如果数组为空，返回0
            if (nums.length == 0) {
                return 0;
            }

            // 将所有元素加入哈希表
            Set<Integer> numSet = new HashSet<>();
            for (int num : nums) {
                numSet.add(num);
            }

            // 记录最长连续序列的长度
            int longestStreak = 0;

            // 遍历数组中的每一个元素
            for (int num : nums) {
                // 检查这个数字是不是序列的起点
                if (!numSet.contains(num - 1)) {  // 如果num-1不存在，说明num是序列的起点
                    int currentNum = num;
                    int currentStreak = 1;

                    // 找到连续的下一个数字
                    while (numSet.contains(currentNum + 1)) {
                        currentNum += 1;
                        currentStreak += 1;
                        System.out.println(currentStreak);
                    }

                    // 更新最长序列长度
                    longestStreak = Math.max(longestStreak, currentStreak);
                }
            }

            return longestStreak;
        }
        public static void main(String[] args) {
            int[] nums = {4,8,9,6,5,32,5,0,1,6,7,10,2};
            System.out.println(longestConsecutive(nums));
        }
    }


